package pers.xx.sbm.service;

import pers.xx.sbm.vo.RoleSampleVo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ReportDataCountyService {
    /**
     * @description 根据区县编码获取各个角色所占比例
     * @author XieXing
     * @date 2021/12/15 14:38
     */
    List<RoleSampleVo> getRoleSampleCount(String sysCode);

    /**
     * 根据区县查询区县总体满意度
     * @return
     */
    String queryTotalSatisfactionByArea(String areaName);

    /**
     * 根据区县查询区县历史满意度
     * @param areaName
     * @return
     */
    Map<String, List<Double>> areaHistoryList(String areaName);

    /**
     * 根据区县查询学段总体满意度
     * @param areaName
     * @return
     */
    String queryXdTotalSatisfactionByArea(String areaName);

    /**
     * 根据区县查询学段总体满意率
     * @param areaName
     * @return
     */
    Map<String, List<Double>> queryXdTotalSatisfactionRateByArea(String areaName);

    /**
     * 根据区县、角色查询满意度
     * @param areaName
     * @return
     */
    String queryRoleTotalSatisfactionByAreaAndRole(String areaName,String role);

    /**
     * 根据区县、角色查询你是满意度
     * @param areaName
     * @param role
     * @return
     */
    Map<String, List<Double>> queryRoleTotalSatisfactionHistoryByAreaAndRole(String areaName, String role);

    /**
     * 根据区县学段查询满意度
     * @param areaName
     * @param xd
     * @return
     */
    String queryTotalSatisfactionByAreaAndXd(String areaName, String xd);

    /**
     * 根据区县学段查询满意率
     * @param areaName
     * @param xd
     * @return
     */
    Map<String, List<Double>> queryTotalSatisfactionRateByAreaAndXd(String areaName, String xd);

    /**
     * 根据学段、角色查询区县满意度
     * @param areaName
     * @param xd
     * @param role
     * @return
     */
    String queryAreaTotalSatisfactionByXdAndRole(String areaName, String xd, String role);

    /**
     * 根据学段、角色查询区县满意率
     * @param areaName
     * @param xd
     * @param role
     * @return
     */
    Map<String, List<Double>> queryAreaTotalSatisfactionRateByXdAndRole(String areaName, String xd, String role);

    /**
     * 根据学段、角色查询项目指标
     * @param xd
     * @return
     */
    String queryProjectIndicatorsByXdAndRole(String areaName,String xd, String role);

    /**
     * 根据学段、角色查询项目各区县指标
     * @param xd
     * @param role
     * @return
     */
    Map<String, Object> queryIndexSatisfactionByXdAndRole(String areaName,String xd, String role);
}
